Khi cơ sở mã nguồn của bạn tăng lên vượt quá vài trăm dòng, nó sẽ chuyển từ một đoạn kịch bản đơn giản thành một hệ thống. Để tránh quá tải nhận thức, Rust sử dụng một hệ thống module để chia nhỏ chức năng thành các ranh giới hợp lý và dễ quản lý.
1. Yêu cầu về khả năng mở rộng
Trong một hệ thống lớn, bạn không cần phải ghi nhớ toàn bộ kiến trúc trong đầu mình. Các module cho phép bạn tách biệt chi tiết triển khai, chỉ công khai những gì thực sự cần thiết thông qua một giao diện API công khai.
2. Kiến trúc hai crate
Một gói Rust duy nhất gói chức năng như một hộp chứa. Nó có thể chứa cả crate thư viện (src/lib.rs) cho logic cốt lõi và crate nhị phân (src/main.rs) cho điểm vào chương trình thực thi. Điều này đảm bảo sự tách biệt rõ ràng giữa việc hệ thống làm gì và cách người dùng tương tác với nó người dùng tương tác với nó.
3. Nền tảng tổ chức
Bằng cách khởi tạo với cargo new --lib, bạn ưu tiên tính modular. Trong Hệ thống Quản lý Nhà hàng, 'Phía trước quầy' (phục vụ) và 'Phía sau quầy' (nấu ăn) được phân chia riêng biệt, cho phép nhiều giao diện phía trước (CLI, Web, Di động) cùng chia sẻ logic cốt lõi của thư viện.